home *** CD-ROM | disk | FTP | other *** search
/ Meeting Pearls 2 / Meeting Pearls Vol. II (1995)(GTI - Schatztruhe)[!].iso / Pearls / dev / Oberon_Sources / OOP_in_Oberon-2 / Edit0.mod < prev    next >
Text File  |  1993-01-13  |  1KB  |  31 lines

  1. MODULE Edit0;    (* HM Mar-25-92*)
  2. IMPORT OS, IO:=io, TextFrames0, Texts0, Viewers0;
  3. PROCEDURE Open*;
  4.         VAR s: IO.Scanner; t: Texts0.Text; menu, cont: TextFrames0.Frame; v: Viewers0.Viewer;
  5.                 f: OS.File; r: OS.Rider;
  6. BEGIN s.SetToParameters; s.Read;
  7.         IF s.class = IO.name THEN
  8.                 menu := TextFrames0.NewMenu(s.str, "Viewers0.Close  Viewers0.Copy  Edit0.Store");
  9.                 NEW(t); f := OS.OldFile(s.str);
  10.                 IF f = NIL THEN t.Clear ELSE OS.InitRider(r); r.Set(f, 0); t.Load(r) END;
  11.                 cont := TextFrames0.New(t);
  12.                 v := Viewers0.New(menu, cont)
  13.         END
  14. END Open;
  15. PROCEDURE Store*;
  16.         VAR v: Viewers0.Viewer; s: IO.Scanner; f: OS.File; r: OS.Rider;
  17. BEGIN v := Viewers0.ViewerAt(TextFrames0.cmdFrame.y);
  18.         s.Set(v.menu(TextFrames0.Frame).text, 0); s.Read;
  19.         IF s.class = IO.name THEN f := OS.NewFile(s.str); OS.InitRider(r); r.Set(f, 0);
  20.                 v.Neutralize; v.cont(TextFrames0.Frame).text.Store(r); OS.Register(f)
  21.         END
  22. END Store;
  23. PROCEDURE ChangeFont*;
  24.         VAR s: IO.Scanner; fnt: OS.Font; f: TextFrames0.Frame;
  25. BEGIN s.SetToParameters; s.Read; TextFrames0.GetSelection(f);
  26.         IF (f # NIL) & (s.class = IO.name) THEN
  27.                 fnt := OS.FontWithName(s.str); f.text.ChangeFont(f.selBeg.pos, f.selEnd.pos, fnt)
  28.         END
  29. END ChangeFont;
  30. END Edit0.
  31.